cpuidle: do not enter deep C state if there is urgent VCPU
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 16 Feb 2010 09:27:45 +0000 (09:27 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 16 Feb 2010 09:27:45 +0000 (09:27 +0000)
commit8a85ee5b553427d80bb959697ff1e8f382e9594b
treebdc59fff7425870bd319e18fe1dff054d24b3adc
parent82dc4c9fd8b278972528b70fdfdf3d316e413642
cpuidle: do not enter deep C state if there is urgent VCPU

when VCPU is polling on event channel, it usually has urgent task
running, e.g. spin_lock, in this case, it is better for cpuidle driver
not to enter deep C state.

This patch fix the issue that SLES 11 SP1 domain0 hangs in the box of
large number of CPUs (>= 64 CPUs).

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Tian Kevin <kevin.tian@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/acpi/cpu_idle.c
xen/common/sched_credit.c
xen/common/schedule.c
xen/include/xen/sched-if.h
xen/include/xen/sched.h